package body ProtectedEntry is

   protected body Event is
      entry Wait(D : out Data) when Signalled is
      begin
         D := Current;
         Signalled := False;
      end Wait;
      procedure Signal(D : in Data) is
      begin
         Current := D;
         Signalled := True;
      end Signal;
end Event;

end ProtectedEntry;
